package com.ruoyi.system.api;

import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.WfUserDTO;
import com.ruoyi.system.api.model.WfUserMultiDTO;

import java.util.List;
import java.util.Map;

/**
 * 工作流用户服务
 *
 * @author gssong
 */
public interface RemoteWorkflowUserService {

    /**
     * 通过用户id集合查询
     * @param ids
     * @return
     */
    List<SysUser> selectUserListByIds(List<Long> ids);

    /**
     * 通过用户id查询
     * @param id
     * @return
     */
    SysUser selectUserById(Long id);

    /**
     * 分页查询工作流选人,角色，部门中的人员等等
     * @param wfUserDTO
     * @return
     */
    Map<String,Object> getWorkflowUserListByPage(WfUserDTO wfUserDTO);

    /**
     * 分页查询工作流选择加签人员
     * @param wfUserMultiDTO
     * @return
     */
    Map<String, Object> getWorkflowAddMultiListByPage(WfUserMultiDTO wfUserMultiDTO);

    /**
     * 查询审批人
     * @param: params 参数id ， 用户id，部门id，角色id
     * @param: chooseWay 选人方式
     * @param: nodeName 节点名称
     * @return
     */
    List<Long> getAssigneeIdList(String params, String chooseWay, String nodeName);
}
